<template>
	<div class="mainsu">
		<div class="main_spac1">
			<div class="main_white padding10 paddingBottom20">
				<div class="mainor_form">
					<div class="mainor_te">
						<!-- <router-link
              to="/financial/receivables/batchrecord"
              class="mainor_tea"
              >批量对账</router-link
            > -->
						<!-- class="mainor_tea" -->

						<el-button @click="settClick(1)">批量结算</el-button>
						<el-button @click="exportbuVisible = true">导出</el-button>
					</div>
					<el-form
						:inline="true"
						:model="form"
						class="demo-form-inline"
						ref="userListFrom"
						label-width="70px"
					>
						<el-form-item label="账期" prop="payment_days">
							<el-date-picker
								v-model="form.payment_days"
								type="month"
								placeholder="选择月"
								value-format="yyyy-MM"
							>
							</el-date-picker>
						</el-form-item>
						<el-form-item label="单号" prop="order_sn">
							<el-input
								v-model.trim="form.order_sn"
								placeholder="原始单号/账单号"
								clearable
								class="wid220"
							></el-input>
						</el-form-item>
						<el-form-item label="用户" prop="uid">
							<change-user-input
								ref="changeUserInput"
								@sendValue="getUser"
								@clear="clearUid"
							></change-user-input>
						</el-form-item>

						<div class="more el-form-item" @click="more">
							<span>更多</span>
							<i :class="[{ on: moredata }, ' el-icon-arrow-down']"></i>
						</div>
						<div class="clearfix"></div>
						<el-collapse-transition>
							<div v-if="moredata">
								<el-form-item label="账单日期" prop="establishTime">
									<el-date-picker
										v-model="establishTime"
										type="daterange"
										class="time220"
										:editable="false"
										unlink-panels
										range-separator="至"
										start-placeholder="开始日期"
										end-placeholder="结束日期"
										value-format="yyyy-MM-dd"
										:clearable="false"
										:picker-options="pickerOptions"
									/>
								</el-form-item>
								<el-form-item label="单据类型" prop="document_status">
									<el-select
										v-model.trim="form.document_status"
										placeholder="对账状态"
										class="wid220"
									>
										<el-option label="所有" value="0"></el-option>
										<el-option
											v-for="(typeList, index) in list.typeList"
											:key="index"
											:label="typeList"
											:value="index"
										></el-option>
									</el-select>
								</el-form-item>

								<el-form-item label="对账状态" prop="statement_status">
									<el-select
										v-model.trim="form.statement_status"
										placeholder="对账状态"
										class="wid220"
									>
										<el-option label="所有" :value="parseInt(0)"></el-option>
										<el-option
											v-for="(
												account_status_list, index
											) in list.account_status_list"
											:key="index"
											:label="account_status_list"
											:value="parseInt(index + 1)"
										></el-option>
									</el-select>
								</el-form-item>
								<el-form-item label="结算状态" prop="status">
									<el-select
										v-model.trim="form.status"
										placeholder="结算状态"
										class="wid220"
									>
										<el-option label="所有" :value="parseInt(0)"></el-option>
										<el-option
											v-for="(statusList, index) in list.statusList"
											:key="index"
											:label="statusList"
											:value="parseInt(index + 1)"
										></el-option>
									</el-select>
								</el-form-item>
								<el-form-item label="结算日期" prop="createTime">
									<el-date-picker
										v-model="createTime"
										type="daterange"
										class="time220"
										:editable="false"
										unlink-panels
										range-separator="至"
										start-placeholder="开始日期"
										end-placeholder="结束日期"
										value-format="yyyy-MM-dd"
										:clearable="false"
										:picker-options="pickerOptions"
									/>
								</el-form-item>

								<div class="clearfix"></div>
							</div>
						</el-collapse-transition>
						<el-form-item class="marginTop10">
							<el-button
								class="reset marginLeft10"
								type="primary"
								@click="reset"
								>重置</el-button
							>
							<el-button
								type="primary"
								@click="getArticleList"
								:loading="listLoading"
								>搜索</el-button
							>
						</el-form-item>
					</el-form>
				</div>
				<div class="main_num boxdq">
					<div class="main_num_l box">
						<!-- <p>
              合计：
              <em>{{ list.paid_money || 0 }}</em>
            </p> -->

						<p>
							<em
								>注意：账单未对账也可结算；只有同一用户、同一账期才能进行批量结算；账单结算后，不可再进行对账；</em
							>
						</p>
					</div>
				</div>
				<div class="main_table marginTop10" style="min-height: 550px">
					<el-table
						ref="multipleTable"
						v-loading="listLoading"
						:data="list.list.data"
						element-loading-text="加载中"
						fit
						border
						highlight-current-row
						@selection-change="handleSelectionChange"
						:header-cell-class-name="this.$verticaline"
					>
						<el-table-column type="selection" :selectable="selectInit" />
						<el-table-column
							label="原始单号"
							width="200"
							prop="related_order_sn"
							show-overflow-tooltip
						/>
						<el-table-column
							label="单据类型"
							width="120"
							prop="type"
							show-overflow-tooltip
						>
							<template slot-scope="scope"
								><span :class="'type' + scope.row.type">{{
									list.typeList[scope.row.type]
								}}</span></template
							>
						</el-table-column>
						<el-table-column
							label="用户名称"
							width="120"
							prop="nickname"
							show-overflow-tooltip
						/>
						<el-table-column
							label="账期"
							width="120"
							prop="status"
							show-overflow-tooltip
						>
							<template slot-scope="scope">
								{{ scope.row.payment_days }}
							</template>
						</el-table-column>

						<el-table-column
							label="应收金额"
							width="120"
							prop="account_money"
							show-overflow-tooltip
						/>
						<el-table-column
							label="实收金额"
							width="120"
							prop="collect_money"
							show-overflow-tooltip
						/>
						<el-table-column
							label="抹零金额"
							width="120"
							prop="zero_money"
							show-overflow-tooltip
						>
						</el-table-column>
						<!-- <el-table-column
              label="账单号"
              width="120"
              prop="related_order_sn"
              show-overflow-tooltip
            >
            </el-table-column> -->
						<el-table-column
							label="账单日期"
							width="120"
							prop="related_order_sn"
							show-overflow-tooltip
						>
							<template slot-scope="scope">
								{{ parseTime(scope.row.created_at, "{y}-{m}-{d}") }}
							</template>
						</el-table-column>
						<el-table-column
							label="账单号"
							prop="order_sn"
							min-width="120"
							show-overflow-tooltip
						/>
						<el-table-column
							label="对账状态"
							width="120"
							prop="status"
							show-overflow-tooltip
						>
							<template slot-scope="scope"
								><span :class="'type' + scope.row.account_status">{{
									list.account_status_list[scope.row.account_status]
								}}</span></template
							>
						</el-table-column>
						<el-table-column
							label="结算状态"
							width="120"
							prop="status"
							show-overflow-tooltip
						>
							<template slot-scope="scope">
								<span :class="'order' + scope.row.status">{{
									list.statusList[scope.row.status]
								}}</span>
							</template>
						</el-table-column>
						<el-table-column
							label="回单"
							prop="remark"
							:show-overflow-tooltip="true"
						>
							<template slot-scope="scope">
								<span
									:style="{
										color: scope.row.is_receipt == 1 ? '#19b098' : '#ff5a5a',
									}"
								>
									{{ scope.row.is_receipt == 1 ? "是" : "否" }}
								</span>
							</template>
						</el-table-column>

						<el-table-column
							label="管理操作"
							align="left"
							fixed="right"
							width="240"
							class-name="main_hei handle"
							class="handle"
						>
							<template slot-scope="scope">
								<router-link :to="'/financial/cash/see/' + scope.row.id">
									<el-link type="success">查看</el-link>
								</router-link>
								<router-link
									:to="'/financial/cash/record/' + scope.row.id"
									v-if="scope.row.type == 1"
								>
									<el-link type="warning" v-if="scope.row.status == 0"
										>对账</el-link
									>
								</router-link>
								<el-link
									type="primary"
									@click="(id = scope.row.id), settClick(2)"
									v-if="scope.row.status != 2"
									>结算</el-link
								>
								<el-link
									style="color: rgb(17, 138, 178)"
									@click="exportOrderiInfo(scope)"
									v-if="
										scope.row.status == 2 ||
										scope.row.type == 2 ||
										scope.row.status == 1
									"
									>导出</el-link
								>
								<el-link
									@click="print(scope.row.id)"
									v-if="
										scope.row.status == 2 ||
										scope.row.type == 2 ||
										scope.row.status == 1
									"
									><span v-if="scope.row.type == 1"> 打印 </span></el-link
								>

								<span v-if="scope.row.type == 1">
									<el-dropdown v-if="scope.row.status == 0">
										<span class="el-dropdown-link" style="cursor: pointer">
											更多<i class="el-icon-arrow-down el-icon--right"></i>
										</span>
										<el-dropdown-menu slot="dropdown">
											<el-dropdown-item>
												<el-link
													style="color: rgb(17, 138, 178)"
													@click="exportOrderiInfo(scope)"
													>导出</el-link
												>
											</el-dropdown-item>
											<el-dropdown-item
												><el-link
													@click="print(scope.row.id)"
													v-if="scope.row.type == 1"
													>打印</el-link
												></el-dropdown-item
											>
										</el-dropdown-menu>
									</el-dropdown>
								</span>
							</template>
						</el-table-column>
					</el-table>
				</div>
				<div class="main_page boxdq">
					<div></div>
					<!-- 分页 -->
					<div class="main_page_r">
						<el-pagination
							:current-page="current.page"
							:page-sizes="[20, 50, 100, 200]"
							:page-size="limit"
							layout="total, sizes, prev, pager, next, jumper"
							:total="totalCount"
							background
							@size-change="changeLimit"
							@current-change="changePage"
						/>
					</div>
				</div>
				<!-- 批量结算 -->
				<el-dialog
					title="批量结算"
					:visible.sync="settFormVisible"
					class="main_dialog dialog1300"
				>
					<el-form
						:inline="false"
						:rules="rules"
						:model="info"
						class="demo-form-inline"
						ref="userListFrom1"
						label-width="0"
						key="userListFrom1"
					>
						<div class="dialog">
							<div class="main_xq">
								<ul class="boxha">
									<li>
										用户名称：<span>{{ info.data.info.nickname }}</span>
									</li>

									<li>
										应收金额：<span>{{ info.data.info.money }}</span>
									</li>
									<li>
										已收金额：<span>{{ info.data.info.collect_money }}</span>
									</li>
									<li>
										账期：<span>{{ info.data.info.payment_days }}</span>
									</li>
									<li>
										未收金额：<span>{{
											info.data.info.uncollected_money
										}}</span>
									</li>
									<li>
										本次收款金额：<el-input
											placeholder="本次收款金额"
											v-model="total"
											:disabled="true"
										>
										</el-input>
										<!-- <span>{{ total }}</span> -->
									</li>
									<div class="clearfix"></div>
									<li class="main_w100 marginTop10 boxha boxnr">
										付款方式：
										<span class="main_xqs" style="width: 30%">
											<el-form-item
												label=""
												prop="info_form.pay_type"
												:rules="rules.pay_type"
											>
												<el-select
													v-model.trim="info.info_form.pay_type"
													placeholder="付款方式"
													class="wid220"
												>
													<el-option
														v-for="(pay_type_list, index) in info.data
															.pay_type_list"
														:key="index"
														:label="pay_type_list"
														:value="parseInt(index)"
													></el-option>
												</el-select>
											</el-form-item>
										</span>
									</li>
									<li class="main_w100 marginTop15 boxha boxnr">
										付款人：
										<span class="main_xqs" style="width: 30%">
											<el-form-item
												label=""
												prop="info_form.payee"
												:rules="rules.payee"
											>
												<el-input
													v-model.trim="info.info_form.payee"
													placeholder="付款人"
													clearable
												></el-input>
											</el-form-item>
										</span>
									</li>
									<li class="main_w100 marginTop15 boxha boxnr">
										备注：
										<span class="main_xqs" style="margin-left: 12px">
											<el-form-item label="" prop="info_form.remark">
												<el-input
													v-model.trim="info.info_form.remark"
													placeholder="备注"
													clearable
												></el-input>
											</el-form-item>
										</span>
									</li>
									<li class="main_w100 marginTop15 boxha">
										上传凭证(3张)：
										<span class="main_xqs">
											<div class="box main_xqi">
												<div class="main_upImg">
													<el-upload
														:action="uploadPath"
														list-type="picture-card"
														:on-success="handSuccess"
														:on-remove="handleRemove"
														:limit="3"
														:file-list="filelist"
													>
														<span slot="default">
															<svg
																aria-hidden="true"
																class="main_page_svg"
																width="32"
																height="27"
															>
																<use xlink:href="#icon-commodit_camera" />
															</svg>
														</span>
													</el-upload>
													<div class="clearfix"></div>
												</div>
											</div>
										</span>
									</li>
								</ul>
							</div>
							<div class="main_table marginTop0">
								<el-table
									ref="multipleTable1"
									v-loading="listLoading"
									:data="info.data.list"
									element-loading-text="加载中"
									fit
									highlight-current-row
									key="multipleTable1"
								>
									<el-table-column
										label="原始单号"
										prop="related_order_sn"
										width="140"
										class-name="main_hei"
									/>
									<el-table-column label="单据类型" width="90">
										<template slot-scope="scope">{{
											info.data.typeList[scope.row.type]
										}}</template>
									</el-table-column>
									<el-table-column
										label="账单号"
										prop="order_sn"
										width="170"
										class-name="main_hei"
									/>
									<el-table-column
										label="应收金额"
										prop="account_money"
										width="90"
										class-name="main_hei"
									/>
									<el-table-column
										label="已收金额"
										prop="collect_money"
										width="90"
										class-name="main_hei"
									/>
									<el-table-column
										label="抹零金额"
										prop="zero_money_copy"
										width="90"
										class-name="main_hei"
									/>
									<el-table-column
										label="未收金额"
										prop="uncollected_money"
										width="90"
										class-name="main_hei"
									/>
									<el-table-column
										label="本次收款金额"
										prop="pay_money"
										width="150"
										class-name="main_hei"
									>
										<template slot-scope="scope">
											<el-form-item
												:prop="'data.list.' + scope.$index + '.pay_money'"
												:rules="rules.pay_money"
												label-width="10px"
												label=" "
											>
												<el-input
													v-model.trim="scope.row.pay_money"
													placeholder="本次收款金额"
													class="wid110"
												></el-input>
											</el-form-item>
										</template>
									</el-table-column>
									<el-table-column
										label="本次抹零金额"
										prop="zero_amount"
										width="150"
										class-name="main_hei"
									>
										<template slot-scope="scope">
											<el-form-item
												:prop="'data.list.' + scope.$index + '.zero_money'"
												:rules="rules.zero_money"
												label-width="10px"
												label=" "
											>
												<el-input
													v-model.trim="scope.row.zero_money"
													placeholder="抹零金额"
													class="wid110"
												></el-input>
											</el-form-item>
										</template>
									</el-table-column>
									<el-table-column
										label="剩余未收"
										width="90"
										class-name="main_hei"
									>
										<template slot-scope="scope">{{
											$toFixed(
												scope.row.uncollected_money -
													scope.row.pay_money -
													scope.row.zero_money
											)
										}}</template>
									</el-table-column>
									<el-table-column
										label="备注"
										prop="remark"
										width="200"
										class-name="main_hei"
									>
										<template slot-scope="scope">
											<el-form-item label-width="0" label="">
												<el-input
													v-model.trim="scope.row.remark"
													placeholder="备注"
													class="wid180"
												></el-input>
											</el-form-item>
										</template>
									</el-table-column>
								</el-table>
							</div>
						</div>
					</el-form>
					<div slot="footer" class="dialog-footer">
						<span class="footer_red">合计:￥{{ total }}</span>
						<el-button type="primary" @click="settupmine" v-repeatClick
							>结 算</el-button
						>
					</div>
				</el-dialog>
				<!-- 订单导出 -->
				<el-dialog
					title="货到付款账单导出"
					:visible.sync="exportbuVisible"
					class="main_dialog dialog500"
				>
					<p class="exptitle">选择导出时间</p>
					<el-date-picker
						v-model="exportTime"
						type="daterange"
						range-separator="至"
						start-placeholder="开始日期"
						end-placeholder="结束日期"
						format="yyyy-MM-dd"
						value-format="yyyy-MM-dd"
						@change="dateChange"
					>
					</el-date-picker>
					<el-tooltip
						class="item"
						effect="dark"
						content="时间范围只能选择两个月之内"
						placement="top"
					>
						<i class="el-icon-question"></i>
					</el-tooltip>
					<p class="exptitle" style="padding-top: 10px">用户</p>
					<change-user-input
						ref="changeUserInput"
						@sendValue="
							(data) => {
								export_uid = data.info.user_id;
							}
						"
						@clear="export_uid = ''"
					></change-user-input>

					<div slot="footer" class="dialog-footer">
						<el-button @click="exportbuVisible = false">取 消</el-button>
						<el-button type="primary" @click="handleExport" v-repeatClick
							>确 定</el-button
						>
					</div>
				</el-dialog>
			</div>
			<!-- 打印子组件 -->
			<order-print
				ref="printTemplate"
				v-show="false"
				id="printname"
			></order-print>
		</div>
	</div>
</template>

<script>
	import {
		offline_index,
		offline_paid,
		offline_getList,
		export_offline_info_order,
		export_offline_info,
		export_offline,
	} from "@/api/financial/finacialCashOnDelivery";
	import { apiUrl, objKeySort, Md5 } from "@/utils/public";
	import dateOption from "@/options/dateOption";
	import { parseTime, exportMethod, getNowMonth } from "@/utils/index";
	import rules from "@/rules/financial/financialReceivables";
	import { uploadPath } from "@/api/currency";
	import OrderPrint from "@/views/order/orderPrint.vue";

	export default {
		components: {
			OrderPrint,
		},
		computed: {
			total() {
				let zs = 0;
				let collected_now = 0;
				this.info.data.list.forEach((e) => {
					zs += parseFloat(this.$toFixed(parseFloat(e.pay_money)));
				});
				return zs ? this.$toFixed(zs) : 0;
			},
		},
		data() {
			return {
				// 验证
				rules,
				// 上传图片
				filelist: [],
				uploadPath,
				getNowMonth,
				// 时间
				parseTime,
				exportMethod,
				// 列表数据
				list: {
					list: [],
				},
				info: {
					data: {
						info: {
							uid: "",
							nickname: "",
						},
						list: [],
						buyer: ["未分拣"],
						modeList: ["未分拣"],
						supplier: ["未分拣"],
						pay_type_list: ["未分拣"],
						typeList: ["未分拣"],
					},
					info_form: {
						uid: "",
						nickname: "",
						pay_type: null,
						payee: "",
						remark: "",
						pics: [],
					},
				},
				// 合计
				all: {
					order_money_all: "",
					account_money_all: "",
					diff_money_all: "",
					send_money_all: "",
				},
				id: "",
				type: 1,
				settFormVisible: false,
				listLoading: false,
				// 搜索
				form: {
					// payment_days: parseTime(new Date(), "{y}-{m}"),
					payment_days: "",
					order_sn: "",
					uid: "",
					account_start_time: "", //账单日期
					account_end_time: "",
					document_status: "", //单据状态
					statement_status: null, //对账状态
					status: null, //结算状态
					start_time: "", //结算日期
					end_time: "",
				},
				createTime: [],
				establishTime: [],
				pickerOptions: dateOption,
				// 更多
				moredata: false,
				// 全选
				selectArr: [],
				// 分页
				current: {
					page: 1,
					per_page: 20,
				},
				limit: 20,
				totalCount: 1,
				exportTime: [],
				export_uid: "",
				exportbuVisible: false,
			};
		},
		activated() {
			if (this.$route.params.name) {
				let name = this.$route.params.name;
				this.$refs["changeUserInput"].name = name;
			}
			if (this.$route.params.uid) {
				let uid = this.$route.params.uid;
				this.form.uid = uid;
			}
			if (this.$route.params.status) {
				this.form.status = this.$route.params.status;
			}
			if (this.$route.params.payment_days) {
				this.form.payment_days = this.$route.params.payment_days;
			}
			// 列表
			this.offline_index();
		},
		mounted() {
			if (this.$route.params.name) {
				let name = this.$route.params.name;
				this.$refs["changeUserInput"].name = name;
			}
		},
		methods: {
			//获取用户信息
			getUser(data) {
				let uid = data.info.user_id;
				this.form.uid = uid;
				this.offline_index();
			},
			// 清除用户的uid
			clearUid() {
				this.form.uid = "";
			},
			// 订单差额 ？注释
			renderHeader_purchase(h, { column, $index }) {
				// 这里在最外层插入一个div标签
				return h("div", [
					// h即为cerateElement的简写
					// 在div里面插入span
					h("span", {
						// 表示内容
						domProps: {
							innerHTML: column.label,
						},
						on: {
							click: () => {
								console.log(`${column.label}   ${$index}`);
							},
						},
					}),
					h(
						"el-tooltip",
						{
							// 表示属性
							attrs: {
								effect: "dark",
								content: "注释：差异金额=下单金额-对账金额",
								placement: "top",
							},
						},
						[
							h("i", {
								style: "margin-left: 5px;margin-top:-1px;",
								class: "el-icon-question table-msg",
							}),
						]
					),
				]);
			},
			// 监听绑定全选不可勾选
			selectInit(row, index) {
				let flag = true;
				if (row.type == 1) {
					flag = true;
					row.status == 2 ? (flag = false) : "";
				} else if (row.type == 2) {
					flag = true;
					row.status == 2 ? (flag = false) : "";
				}
				return flag;
			},
			// 监听全选
			handleSelectionChange(val) {
				this.selectArr = [];
				val.map((item) => {
					this.selectArr.push({ id: item.id });
				});
			},
			// 上传图片-删除
			handleRemove(file) {
				const i = this.info.info_form.pics.findIndex(
					(item) => item.path == file.path
				);
				this.info.info_form.pics.splice(i, 1);
			},
			// 上传图片-成功
			handSuccess(res, file, fileList) {
				this.info.info_form.pics.push({
					name: "",
					path: res.data.path,
					url: res.data.src,
				});
			},
			// 结算
			settClick(type) {
				this.info.info_form = {
					uid: "",
					nickname: "",
					pay_type: null,
					payee: "",
					remark: "",
					pics: [],
				};
				this.filelist = [];
				if (type == 1) {
					if (this.selectArr.length == 0) {
						this.$message.error("请勾选订单");
						return;
					}
				}
				this.type = type;
				let ids = type == 1 ? this.selectArr : [{ id: this.id }];
				let data = Object.assign(
					apiUrl().name,
					{ ids: JSON.stringify(ids) }
				);

				offline_getList(data).then((res) => {
					if (res.errcode == 0) {
						res.data.list.forEach((e) => {
							e.pay_money = e.uncollected_money;
							e.zero_money_copy = e.zero_money;
							e.zero_money = 0;
						});
						this.info.data = res.data;

						this.settFormVisible = true;
					} else {
						this.$message.error(res.errmsg);
					}
				});
			},
			settupmine() {
				this.$refs["userListFrom1"].validate((valid) => {
					if (valid) {
						this.$confirm("确定结算吗?", "提示", {
							confirmButtonText: "确定",
							cancelButtonText: "取消",
							type: "warning",
						})
							.then(() => {
								let arry = [];
								let info = JSON.parse(JSON.stringify(this.info));
								info.info_form.uid = info.data.info.uid;
								info.info_form.nickname = info.data.info.nickname;

								info.info_form.pics = info.info_form.pics
									.map((e) => e.path)
									.join(",");
								info.data.list.map((e) => {
									arry.push({
										id: e.id,
										pay_money: e.pay_money,
										zero_money: e.zero_money,
										remark: e.remark,
									});
								});

								let data = Object.assign(
									apiUrl().name,
									info.info_form,
									{ list: JSON.stringify(arry) }
								);
								offline_paid(data).then((res) => {
									this.settFormVisible = false;
									if (res.errcode == 0) {
										this.$message({
											message: "结算成功",
											type: "success",
										});
										this.offline_index();
									} else {
										this.$message.error(res.errmsg);
									}
								});
							})
							.catch(() => {});
					}
				});
			},
			// 搜索
			getArticleList() {
				this.current.page = 1;
				this.offline_index();
			},
			// 重置
			reset() {
				this.$refs["userListFrom"].resetFields();
				this.form.uid = "";
				this.$refs["changeUserInput"].name = "";
				this.createTime = [];
				this.establishTime = [];
				this.offline_index();
			},
			// 分页
			changeLimit(pageSize) {
				this.current.per_page = pageSize;
				this.offline_index();
			},
			changePage(page) {
				this.current.page = page;
				this.offline_index();
			},
			// 更多
			more() {
				this.moredata = !this.moredata;
			},
			// 列表
			offline_index() {
				this.listLoading = true;
				let data = Object.assign(
					apiUrl().name,
					this.list_form(),
					this.current
				);
				offline_index(data).then((res) => {
					this.listLoading = false;
					if (res.errcode == 0) {
						this.list = res.data;
						this.all.account_money_all = res.data.account_money_all;
						this.all.send_money_all = res.data.send_money_all;
						this.all.diff_money_all = res.data.diff_money_all;
						this.all.order_money_all = res.data.order_money_all;
						this.totalCount = res.data.list.total;
					} else {
						this.$message.error(res.errmsg);
					}
				});
			},
			list_form() {
				let form = JSON.parse(JSON.stringify(this.form));
				form.start_time = this.createTime[0] ? this.createTime[0] : "";
				form.end_time = this.createTime[1] ? this.createTime[1] : "";
				form.account_start_time = this.establishTime[0]
					? this.establishTime[0]
					: "";
				form.account_end_time = this.establishTime[1]
					? this.establishTime[1]
					: "";

				return form;
			},

			// 打印
			print(id) {
				this.printid = id;
				this.$refs.printTemplate.$emit("demo", {
					id: id,
					type: "cash_delivery_order",
				});
			},
			exportOrderiInfo(scope) {
				let id = scope.row.id;
				let type = scope.row.type;
				let func = null;
				let file_name = "";
				if (type == 1) {
					// console.log("订单");]
					func = export_offline_info_order;
					file_name = "货到付款账单-订单";
				} else if (type == 2) {
					// console.log("退货单");
					func = export_offline_info;
					file_name = "货到付款账单-退货单";
				}
				let data = Object.assign(
					apiUrl().name,
					{ id: id }
				);
				func(data)
					.then((res) => {
						this.exportMethod(res, file_name);
					})
					.catch(() => {
						this.$message.error("导出失败");
					});
			},
			// 导出
			handleExport() {
				if (this.exportTime.length == 0) {
					this.$message.warning("请选择需要导出的时间段");
					return;
				}
				let form = {
					start_time: "",
					end_time: "",
					uid: this.export_uid,
				};

				if (this.exportTime && this.exportTime.length > 0) {
					form.start_time = this.exportTime[0];
					form.end_time = this.exportTime[1];
				}
				let data = Object.assign(
					apiUrl().name,
					form
				);
				export_offline(data).then((res) => {
					this.exportMethod(res, "货到付款账单");
				});
				this.exportbuVisible = false;
				this.$nextTick(() => {
					this.exportTime = [];
					this.uid = "";
				});
			},
			// 日期选择
			dateChange(val) {
				let start = val ? new Date(val[0]).getTime() : 0;
				let end = val ? new Date(val[1]).getTime() : 0;
				let diff = start - end;
				if (Math.abs(diff) > 3600 * 1000 * 24 * 60) {
					this.$message.warning("选择时间跨度不能超过两个月");
					this.exportTime = this.getNowMonth();
				}
			},
		},
	};
</script>
<style lang="scss" scoped>
@import "@/styles/variables.scss";

.mainsu {
	.mainor_form form {
		width: calc(100% - 180px);
	}

	.main_dialog {
		.main_xq {
			/deep/.el-form-item--small.el-form-item {
				margin-bottom: 0;
			}
		}

		.main_table {
			/deep/.el-table__body-wrapper {
				overflow-y: auto;
			}
			/deep/.el-table--small td {
				padding-top: 0;
			}
			/deep/.el-form-item--small.el-form-item {
				margin-bottom: 16px;
				margin-top: 16px;
				margin-right: 0;
			}
		}
		.main_xq ul li {
			width: 33.33%;
			margin-top: 5px;
			margin-bottom: 5px;
			.main_xqs {
				width: 85%;
				display: block;
				text-align: left;
				/deep/.el-input--small {
					width: 100%;
				}
			}
		}
		.footer_red {
			font-size: 16px;
			color: red;
			margin-right: 10px;
		}
	}
}
// 支付状态
.type2 {
	color: $colour_red;
}
.type1 {
	color: $green;
}
// 订单状态
.order0 {
	color: $order_color4;
}
.order1 {
	color: $order_color1;
}

/deep/.main_table .el-table--small td.handle .cell {
	display: flex;
	flex-direction: row;
	align-items: center;
}
// 导出订单表头
.exptitle {
	display: block;
	font-size: 16px;
	color: #000000;
	margin: 0 0 10px;
	cursor: pointer;
}
</style>
